home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 2.iso / dist / fw_groff.idb / usr / freeware / catman / u_man / cat1 / gtroff.Z / gtroff
Text File  |  2002-04-08  |  65KB  |  1,464 lines

  1. TROFF(1)                         TROFF(1)
  2.  
  3.  
  4.  
  5. NNAAMMEE
  6.        troff - format documents
  7.  
  8. SSYYNNOOPPSSIISS
  9.        ttrrooffff [ --aabbiivvzzCCEERRUU ] [ --ww_n_a_m_e ] [ --WW_n_a_m_e    ] [ --dd_c_s ]
  10.          [ --ff_f_a_m ] [ --mm_n_a_m_e    ] [ --nn_n_u_m ] [ --oo_l_i_s_t ] [ --rr_c_n ]
  11.          [ --TT_n_a_m_e ]    [ --FF_d_i_r    ] [ --MM_d_i_r ] [ _f_i_l_e_s_._._. ]
  12.  
  13.        It  is  possible    to have    whitespace between a command line
  14.        option and its parameter.
  15.  
  16. DDEESSCCRRIIPPTTIIOONN
  17.        This manual page    describes the GNU version of ttrrooffff, which
  18.        is  part     of  the groff document    formatting system.  It is
  19.        highly compatible with UNIX troff.  Usually it  should  be
  20.        invoked    using the groff    command, which will also run pre
  21.        processors and postprocessors in    the appropriate    order and
  22.        with the    appropriate options.
  23.  
  24. OOPPTTIIOONNSS
  25.        --aa     Generate  an  ASCII approximation of the typeset
  26.          output.
  27.  
  28.        --bb     Print a backtrace with     each  warning    or  error
  29.          message.   This backtrace should help track down
  30.          the cause of the error.  The line numbers  given
  31.          in  the  backtrace  may  not  always be correct:
  32.          ttrrooffff's idea of line numbers gets confused by aass
  33.          or aamm requests.
  34.  
  35.        --ii     Read  the  standard  input  after  all    the named
  36.          input files have been processed.
  37.  
  38.        --vv     Print the version number.
  39.  
  40.        --ww_n_a_m_e     Enable    warning     _n_a_m_e.     Available  warnings  are
  41.          described  in    the  Warnings  subsection  below.
  42.          Multiple --ww options are allowed.
  43.  
  44.        --WW_n_a_m_e     Inhibit warning _n_a_m_e.    Multiple --WW  options  are
  45.          allowed.
  46.  
  47.        --EE     Inhibit all error messages.
  48.  
  49.        --zz     Suppress formatted output.
  50.  
  51.        --CC     Enable    compatibility mode.
  52.  
  53.        --dd_c_s
  54.        --dd_n_a_m_e==_s     Define     _c  or _n_a_m_e to be a string _s; _c    must be    a
  55.          one letter name.
  56.  
  57.        --ff_f_a_m     Use _f_a_m as the    default    font family.
  58.  
  59.        --mm_n_a_m_e     Read in the file _n_a_m_e..ttmmaacc.  If it isn't  found,
  60.          try   ttmmaacc.._n_a_m_e   instead.   It  will    be  first
  61.          searched for in directories given  with  the  --MM
  62.          command  line    option,    then in    directories given
  63.          in  the  GGRROOFFFF__TTMMAACC__PPAATTHH  environment    variable,
  64.          then in the current directory (only if    in unsafe
  65.          mode),      the     home     directory,    /usr/free
  66.          ware/lib/groff/site-tmac,
  67.          /usr/freeware/share/groff/site-tmac,          and
  68.          /usr/freeware/share/groff/1.17.2/tmac.
  69.  
  70.        --UU     Unsafe     mode.     This  will  enable the    following
  71.          requests: ..ooppeenn, ..ooppeennaa,  ..ppssoo,  ..ssyy,    and  ..ppii.
  72.          For  security reasons,    these potentially danger
  73.          ous requests are disabled  otherwise.     It  will
  74.          also  add  the     current  directory  to    the macro
  75.          search    path.
  76.  
  77.        --RR     Don't load ttrrooffffrrcc and    ttrrooffffrrcc--eenndd.
  78.  
  79.        --nn_n_u_m     Number    the first page _n_u_m.
  80.  
  81.        --oo_l_i_s_t     Output    only pages in _l_i_s_t, which is a comma-sep
  82.          arated     list  of page ranges; _n means print page
  83.          _n, _m--_n    means print every page between _m  and  _n,
  84.          --_n  means  print  every  page    up to _n, _n-- means
  85.          print every page from _n.  TTrrooffff will exit  after
  86.          printing the last page    in the list.
  87.  
  88.        --rr_c_n
  89.        --rr_n_a_m_e==_n     Set  number register _c    or _n_a_m_e    to _n; _c    must be    a
  90.          one character name; _n can be any  troff  numeric
  91.          expression.
  92.  
  93.        --TT_n_a_m_e     Prepare  output for device _n_a_m_e, rather than the
  94.          default ppss.
  95.  
  96.        --FF_d_i_r     Search    in directory (or directory path) _d_i_r  for
  97.          subdirectories     ddeevv_n_a_m_e (_n_a_m_e is the name of the
  98.          device) and there for the  DDEESSCC  file    and  font
  99.          files.      _d_i_r  is  scanned  before all other font
  100.          directories.
  101.  
  102.        --MM_d_i_r     Search    directory (or  directory  path)     _d_i_r  for
  103.          macro    files.     This is scanned before    all other
  104.          macro directories.
  105.  
  106. UUSSAAGGEE
  107.        Only the    features not in    UNIX troff are described here.
  108.  
  109.    LLoonngg    nnaammeess
  110.        The     names     of    number       registers,       fonts,
  111.        strings/macros/diversions,  special  characters    can be of
  112.        any length. In escape sequences,    where you can use ((_x_x for
  113.        a  two  character  name,     you  can use [[_x_x_x]] for    a name of
  114.        arbitrary length:
  115.  
  116.        \\[[_x_x_x]] Print the    special    character called _x_x_x.
  117.  
  118.        \\ff[[_x_x_x]]
  119.           Set font _x_x_x.
  120.  
  121.        \\**[[_x_x_x]]
  122.           Interpolate string _x_x_x.
  123.  
  124.        \\nn[[_x_x_x]]
  125.           Interpolate number register _x_x_x.
  126.  
  127.    FFrraaccttiioonnaall ppooiinnttssiizzeess
  128.        A _s_c_a_l_e_d    _p_o_i_n_t  is  equal  to  1/sizescale  points,  where
  129.        sizescale  is  specified     in the    DDEESSCC file (1 by    default).
  130.        There is    a new scale indicator zz    which has the  effect  of
  131.        multiplying  by    sizescale.  Requests and escape    sequences
  132.        in troff    interpret arguments that represent a pointsize as
  133.        being  in  units     of scaled points, but they evaluate each
  134.        such argument using a default scale indicator of    zz.  Argu
  135.        ments  treated  in  this     way  are  the argument    to the ppss
  136.        request,    the third argument to the ccss request, the  second
  137.        and  fourth  arguments to the ttkkff request, the argument to
  138.        the \\HH escape sequence,    and  those  variants  of  the  \\ss
  139.        escape  sequence     that  take a numeric expression as their
  140.        argument.
  141.  
  142.        For example, suppose sizescale  is  1000;  then    a  scaled
  143.        point  will be equivalent to a millipoint; the request ..ppss
  144.        1100..2255 is    equivalent to ..ppss 1100..2255zz and so    sets  the  point
  145.        size  to     10250    scaled    points,     which    is equal to 10.25
  146.        points.
  147.  
  148.        The number register \\nn[[..ss]] returns the pointsize    in points
  149.        as  decimal fraction.  There is also a new number register
  150.        \\nn[[..ppss]] that returns the    pointsize in scaled points.
  151.  
  152.        It would    make no    sense to use the zz scale indicator  in    a
  153.        numeric    expression whose default scale indicator was nei
  154.        ther uu nor zz, and so ttrrooffff disallows this.   Similarly  it
  155.        would  make no sense to use a scaling indicator other than
  156.        zz or uu in a numeric expression whose default scale indica
  157.        tor was zz, and so ttrrooffff disallows this as well.
  158.  
  159.        There  is  also    new scale indicator ss which multiplies by
  160.        the number of units in a    scaled point.  So,  for     example,
  161.        \\nn[[..ppss]]ss    is equal to 11mm.     Be sure not to    confuse    the ss and
  162.        zz scale indicators.
  163.  
  164.    NNuummeerriicc eexxpprreessssiioonnss
  165.        Spaces are permitted in a number    expression within  paren
  166.        theses.
  167.  
  168.        MM indicates a scale of 100ths of    an em.
  169.  
  170.        _e_1>>??_e_2 The maximum of _e_1    and _e_2.
  171.  
  172.        _e_1<<??_e_2 The minimum of _e_1    and _e_2.
  173.  
  174.        ((_c;;_e))  Evaluate    _e  using _c as the default scaling indica
  175.           tor.  If _c is missing, ignore scaling indicators in
  176.           the evaluation of    _e.
  177.  
  178.    NNeeww eessccaappee sseeqquueenncceess
  179.        \\AA''_a_n_y_t_h_i_n_g''
  180.           This  expands to 11 or 00 according    as _a_n_y_t_h_i_n_g is or
  181.           is not acceptable    as the name of a  string,  macro,
  182.           diversion,  number  register,  environment or font.
  183.           It will return 00 if _a_n_y_t_h_i_n_g  is    empty.     This  is
  184.           useful  if  you  want  to    lookup user input in some
  185.           sort of associative table.
  186.  
  187.        \\BB''_a_n_y_t_h_i_n_g''
  188.           This expands to 11    or 00 according as _a_n_y_t_h_i_n_g is  or
  189.           is  not a    valid numeric expression.  It will return
  190.           00    if _a_n_y_t_h_i_n_g is empty.
  191.  
  192.        \\CC''_x_x_x''
  193.           Typeset character    named _x_x_x.  Normally it     is  more
  194.           convenient to use    \\[[_x_x_x]].     But \\CC    has the    advantage
  195.           that it is compatible with recent    versions of  UNIX
  196.           and is available in compatibility    mode.
  197.  
  198.        \\EE     This is equivalent to an escape character, but it's
  199.           not interpreted in copy-mode.  For example, strings
  200.           to  start     and  end superscripting could be defined
  201.           like this:
  202.  
  203.              .ds { \v'-.3m'\s'\En[.s]*6u/10u'
  204.              .ds } \s0\v'.3m'
  205.  
  206.           The use of \\EE ensures that these    definitions  will
  207.           work even    if \\**{{ gets interpreted    in copy-mode (for
  208.           example, by being    used in    a macro    argument).
  209.  
  210.        \\NN''_n''  Typeset the character with code _n     in  the  current
  211.           font.   _n     can  be  any integer.    Most devices only
  212.           have characters with codes between 0 and    255.   If
  213.           the  current font    does not contain a character with
  214.           that code, special fonts will _n_o_t    be searched.  The
  215.           \\NN escape    sequence can be    conveniently used on con
  216.           junction with the    cchhaarr request:
  217.  
  218.              ..cchhaarr \\[[pphhoonnee]] \\ff((ZZDD\\NN''3377''
  219.  
  220.           The code of each character is given in  the  fourth
  221.           column  in  the  font  description  file    after the
  222.           cchhaarrsseett command.    It is possible to include unnamed
  223.           characters  in the font description file by using    a
  224.           name of ------; the \\NN escape sequence is the only way
  225.           to use these.
  226.  
  227.        \\RR''_n_a_m_e __n''
  228.           This has the same    effect as
  229.  
  230.              ..nnrr _n_a_m_e __n
  231.  
  232.        \\ss((_n_n
  233.        \\ss((_n_n Set    the point size to _n_n points; _n_n    must be    exactly
  234.           two digits.
  235.  
  236.        \\ss[[_n]]
  237.        \\ss[[_n]]
  238.        \\ss''_n''
  239.        \\ss''_n'' Set    the point size to  _n  scaled  points;  _n  is  a
  240.           numeric  expression  with    a default scale    indicator
  241.           of zz.
  242.  
  243.        \\VV_x
  244.        \\VV((_x_x
  245.        \\VV[[_x_x_x]]
  246.           Interpolate the contents of the  environment  vari
  247.           able  _x_x_x,  as returned by ggeetteennvv(3).  \\VV    is inter
  248.           preted in    copy-mode.
  249.  
  250.        \\YY_x
  251.        \\YY((_x_x
  252.        \\YY[[_x_x_x]]
  253.           This is approximately  equivalent     to  \\XX''\\**[[_x_x_x]]''.
  254.           However the contents of the string or macro _x_x_x are
  255.           not interpreted; also it is permitted  for  _x_x_x  to
  256.           have  been defined as a macro and    thus contain new
  257.           lines (it    is not permitted for the argument  to  \\XX
  258.           to  contain  newlines).    The inclusion of newlines
  259.           requires an extension to the UNIX    troff output for
  260.           mat,  and     will  confuse    drivers     that do not know
  261.           about this extension.
  262.  
  263.        \\ZZ''_a_n_y_t_h_i_n_g''
  264.           Print anything and then restore the horizontal  and
  265.           vertical position; _a_n_y_t_h_i_n_g may not contain tabs or
  266.           leaders.
  267.  
  268.        \\$$00    The name by which    the current  macro  was     invoked.
  269.           The aallss request can make a macro have more than one
  270.           name.
  271.  
  272.        \\$$**    In a macro, the concatenation of all the    arguments
  273.           separated    by spaces.
  274.  
  275.        \\$$@@    In  a macro, the concatenation of    all the    arguments
  276.           with each    surrounded by double  quotes,  and  sepa
  277.           rated by spaces.
  278.  
  279.        \\$$((_n_n
  280.        \\$$[[_n_n_n]]
  281.           In  a  macro,  this gives    the _n_n-th or _n_n_n-th argu
  282.           ment.  Macros can    have an    unlimited number of argu
  283.           ments.
  284.  
  285.        \\??_a_n_y_t_h_i_n_g\\??
  286.           When  used  in a diversion, this will transparently
  287.           embed _a_n_y_t_h_i_n_g in    the diversion.    _a_n_y_t_h_i_n_g is  read
  288.           in  copy    mode.  When the    diversion is reread, _a_n_y_
  289.           _t_h_i_n_g will be interpreted.  _a_n_y_t_h_i_n_g may    not  con
  290.           tain newlines; use \\!! if you want    to embed newlines
  291.           in a diversion.  The escape  sequence  \\??     is  also
  292.           recognised  in  copy  mode and turned into a single
  293.           internal code; it    is this    code that terminates _a_n_y_
  294.           _t_h_i_n_g.  Thus
  295.              ..nnrr xx 11
  296.              ..nnff
  297.              ..ddii dd
  298.              \\??\\\\??\\\\\\\\??\\\\\\\\\\\\\\\\nnxx\\\\\\\\??\\\\??\\??
  299.              ..ddii
  300.              ..nnrr xx 22
  301.              ..ddii ee
  302.              ..dd
  303.              ..ddii
  304.              ..nnrr xx 33
  305.              ..ddii ff
  306.              ..ee
  307.              ..ddii
  308.              ..nnrr xx 44
  309.              ..ff
  310.  
  311.           will print 44.
  312.  
  313.        \\//     This increases the width of the preceding    character
  314.           so that the spacing between that character and  the
  315.           following     character will    be correct if the follow
  316.           ing character is a roman character.   For     example,
  317.           if  an  italic f is immediately followed by a roman
  318.           right parenthesis, then in many fonts the    top right
  319.           portion  of  the f will overlap the top left of the
  320.           right parenthesis     producing  _f),     which    is  ugly.
  321.           Inserting     \\//  produces _f) and avoids this problem.
  322.           It is a good idea    to use this escape sequence when
  323.           ever an italic character is immediately followed by
  324.           a    roman character    without    any intervening    space.
  325.  
  326.        \\,,     This modifies the    spacing    of the following  charac
  327.           ter  so that the spacing between that character and
  328.           the preceding character will correct if the preced
  329.           ing  character  is a roman character.  For example,
  330.           inserting    \\,, between  the     parenthesis  and  the    f
  331.           changes  (_f  to  (_f.  It is a good idea to use this
  332.           escape sequence whenever a roman character is imme
  333.           diately followed by an italic character without any
  334.           intervening space.
  335.  
  336.        \\))     Like \\&& except that it  behaves  like  a    character
  337.           declared    with the ccffllaaggss    request    to be transparent
  338.           for the purposes of end of sentence recognition.
  339.  
  340.        \\~~     This produces an unbreakable space  that    stretches
  341.           like  a  normal  inter-word  space  when    a line is
  342.           adjusted.
  343.  
  344.        \\::     This causes the insertion     of  a    zero-width  break
  345.           point.   It is equal to \\%% but without insertion of
  346.           a    soft hyphen character.
  347.  
  348.        \\##     Everything up to and including the next newline  is
  349.           ignored.     This  is interpreted in copy mode.  This
  350.           is like \\"" except    that \\""    does not ignore    the  ter
  351.           minating newline.
  352.  
  353.    NNeeww rreeqquueessttss
  354.        ..aallnn _x_x _y_y
  355.           Create an    alias _x_x for number register object named
  356.           _y_y.  The new name    and the    old name will be  exactly
  357.           equivalent.   If _y_y is undefined,    a warning of type
  358.           rreegg will be generated,  and  the    request     will  be
  359.           ignored.
  360.  
  361.        ..aallss _x_x _y_y
  362.           Create  an  alias    _x_x for request,    string,    macro, or
  363.           diversion    object named _y_y.  The new  name     and  the
  364.           old  name    will be    exactly    equivalent (it is similar
  365.           to a hard    rather than a soft link).  If _y_y is unde
  366.           fined, a warning of type mmaacc will    be generated, and
  367.           the request will be ignored.  The    ddee, aamm,     ddii,  ddaa,
  368.           ddss, and aass requests only create a    new object if the
  369.           name of the macro, diversion or string diversion is
  370.           currently     undefined  or    if  it is defined to be    a
  371.           request; normally     they  modify  the  value  of  an
  372.           existing object.
  373.  
  374.        ..aamm11 _x_x _y_y
  375.           Similar  to ..aamm, but compatibility mode is switched
  376.           off during execution.  On    entry, the  current  com
  377.           patibility mode is saved and restored at exit.
  378.  
  379.        ..aasscciiiiffyy    _x_x
  380.           This request `unformats' the diversion _x_x    in such    a
  381.           way that    ASCII  and  space  characters  (and  some
  382.           escape  sequences) that were formatted and diverted
  383.           into _x_x will be treated like ordinary input charac
  384.           ters  when  _x_x is    reread.     Useful    for diversions in
  385.           conjunction with the ..wwrriitteemm request.   It  can  be
  386.           also used    for gross hacks; for example, this
  387.  
  388.              ..ttrr @@..
  389.              ..ddii xx
  390.              @@nnrr nn 11
  391.              ..bbrr
  392.              ..ddii
  393.              ..ttrr @@@@
  394.              ..aasscciiiiffyy xx
  395.              ..xx
  396.  
  397.           will set register    nn to 1.     Note that glyph informa
  398.           tion (font, font size, etc.) is not preserved;  use
  399.           ..uunnffoorrmmaatt    instead.
  400.  
  401.        ..bbaacckkttrraaccee
  402.           Print a backtrace    of the input stack on stderr.
  403.  
  404.        ..bbllmm _x_x
  405.           Set  the    blank  line  macro  to _x_x.  If there is    a
  406.           blank line macro,    it will    be invoked when     a  blank
  407.           line  is    encountered  instead  of  the usual troff
  408.           behaviour.
  409.  
  410.        ..bbooxx _x_x
  411.        ..bbooxxaa _x_x
  412.           These  requests  are  similar  to     the  ddii  and  ddaa
  413.           requests with the    exception that a partially filled
  414.           line will    not become part    of the    diversion  (i.e.,
  415.           the  diversion  always  starts with a new    line) but
  416.           restored after ending the    diversion, discarding the
  417.           partially    filled line which possibly comes from the
  418.           diversion.
  419.  
  420.        ..bbrreeaakk Break out    of a while loop.  See also the wwhhiillee  and
  421.           ccoonnttiinnuuee    requests.   Be    sure  not to confuse this
  422.           with the bbrr request.
  423.  
  424.        ..bbrrpp   This is the same as \\pp.
  425.  
  426.        ..ccffllaaggss _n _c_1 _c_2_._._.
  427.           Characters _c_1, _c_2,...  have  properties  determined
  428.           by _n, which is ORed from the following:
  429.  
  430.           1         the   character  ends  sentences  (initially
  431.              characters    ..??!! have this property);
  432.  
  433.           2         lines can be  broken  before  the    character
  434.              (initially     no  characters     have  this prop
  435.              erty); a line will    not be broken at a  char
  436.              acter  with this property unless the charac
  437.              ters on each side both have non-zero hyphen
  438.              ation codes.
  439.  
  440.           4         lines  can     be  broken  after  the    character
  441.              (initially    characters  --\\((hhyy\\((eemm  have  this
  442.              property);     a  line  will not be broken at    a
  443.              character    with  this  property  unless  the
  444.              characters     on  each side both have non-zero
  445.              hyphenation codes.
  446.  
  447.           8         the character  overlaps  horizontally  (ini
  448.              tially  characters     \\((uull\\((rrnn\\((rruu  have  this
  449.              property);
  450.  
  451.           16     the character overlaps vertically (initially
  452.              character \\((bbrr has    this property);
  453.  
  454.           32     an    end of sentence    character followed by any
  455.              number of characters with this property will
  456.              be     treated as the    end of a sentence if fol
  457.              lowed by a    newline    or two spaces;    in  other
  458.              words  the     character is transparent for the
  459.              purposes of  end  of  sentence  recognition;
  460.              this is the same as having    a zero space fac
  461.              tor    in      TeX     (initially    characters
  462.              ""''))]]**\\((ddgg\\((rrqq have    this property).
  463.  
  464.        ..cchhaarr _c _s_t_r_i_n_g
  465.           Define  character    _c to be    _s_t_r_i_n_g.     Every time char
  466.           acter _c needs to be printed, _s_t_r_i_n_g  will     be  pro
  467.           cessed  in  a  temporary environment and the result
  468.           will be wrapped up into a    single object.     Compati
  469.           bility mode will be turned off and the escape char
  470.           acter will be set    to \\ while _s_t_r_i_n_g is  being  pro
  471.           cessed.  Any emboldening,    constant spacing or track
  472.           kerning will be applied to this object rather  than
  473.           to  individual  characters  in _s_t_r_i_n_g.  A    character
  474.           defined by this request can be  used  just  like    a
  475.           normal character provided    by the output device.  In
  476.           particular other characters can be translated to it
  477.           with  the     ttrr  request;  it  can be made the leader
  478.           character    by the llcc request; repeated patterns  can
  479.           be  drawn     with  the  character using the    \\ll and \\LL
  480.           escape sequences;    words  containing  the    character
  481.           can  be  hyphenated correctly, if    the hhccooddee request
  482.           is used to give the character a  hyphenation  code.
  483.           There  is     a special anti-recursion feature: use of
  484.           character    within the character's definition will be
  485.           handled  like  normal  characters     not defined with
  486.           cchhaarr.  A character definition can    be  removed  with
  487.           the rrcchhaarr    request.
  488.  
  489.        ..cchhoopp _x_x
  490.           Chop  the     last  character  off  macro,  string, or
  491.           diversion    _x_x.  This is useful for    removing the new
  492.           line  from  the  end  of    diversions that    are to be
  493.           interpolated as strings.
  494.  
  495.        ..cclloossee _s_t_r_e_a_m
  496.           Close the     stream     named    _s_t_r_e_a_m;     _s_t_r_e_a_m     will  no
  497.           longer  be  an  acceptable  argument  to    the wwrriittee
  498.           request.    See the    ooppeenn request.
  499.  
  500.        ..ccoonnttiinnuuee
  501.           Finish the current iteration of a    while loop.   See
  502.           also the wwhhiillee and bbrreeaakk requests.
  503.  
  504.        ..ccpp _n  If  _n  is    non-zero or missing, enable compatibility
  505.           mode, otherwise disable it.  In compatibility mode,
  506.           long  names  are not recognised, and the incompati
  507.           bilities caused by long names do not arise.
  508.  
  509.        ..ddeeii _x_x _y_y
  510.           Define macro indirectly.    The following example
  511.  
  512.              ..ddss xxxx aaaa
  513.              ..ddss yyyy bbbb
  514.              ..ddeeii xxxx yyyy
  515.  
  516.           is equivalent to
  517.  
  518.              ..ddee aaaa bbbb
  519.  
  520.        ..ddee11 _x_x _y_y
  521.           Similar to ..ddee, but compatibility    mode is     switched
  522.           off  during  execution.  On entry, the current com
  523.           patibility mode is saved and restored at exit.
  524.  
  525.        ..ddoo _x_x_x
  526.           Interpret    _._x_x_x with  compatibility  mode    disabled.
  527.           For example,
  528.  
  529.              ..ddoo ffaamm TT
  530.  
  531.           would have the same effect as
  532.  
  533.              ..ffaamm TT
  534.  
  535.           except  that  it    would  work even if compatibility
  536.           mode had been enabled.  Note that    the previous com
  537.           patibility   mode     is  restored  before  any  files
  538.           sourced by _x_x_x are interpreted.
  539.  
  540.        ..eeccss   Save current escape character.
  541.  
  542.        ..eeccrr   Restore escape character saved with eeccss.    Without    a
  543.           previous    call  to  eeccss, `\\' will    be the new escape
  544.           character.
  545.  
  546.        ..eevvcc _x_x
  547.           Copy the contents    of environment _x_x to the  current
  548.           environment.   No    pushing    or popping of environents
  549.           will be done.
  550.  
  551.        ..ffaamm _x_x
  552.           Set the current font family  to  _x_x.   The  current
  553.           font family is part of the current environment.  If
  554.           _x_x is missing, switch back to previous font family.
  555.           See  the    description  of     the ssttyy request for more
  556.           information on font families.
  557.  
  558.        ..ffssppeecciiaall _f _s_1 _s_2_._._.
  559.           When the current font is _f, fonts    _s_1, _s_2,...   will
  560.           be special, that is, they    will searched for charac
  561.           ters not in the current font.  Any fonts    specified
  562.           in the ssppeecciiaall request will be searched after fonts
  563.           specified    in the ffssppeecciiaall    request.
  564.  
  565.        ..ffttrr _f _g
  566.           Translate    font _f to _g.  Whenever a font named _f  is
  567.           referred    to  in    \\ff escape sequence, or in the fftt,
  568.           uull, bbdd, ccss, ttkkff,    ssppeecciiaall,  ffssppeecciiaall,  ffpp,  or  ssttyy
  569.           requests,    font _g will be used.  If _g is missing, or
  570.           equal to _f then font _f will not be translated.
  571.  
  572.        ..hhccooddee _c_1 _c_o_d_e_1 _c_2 _c_o_d_e_2_._._.
  573.           Set the hyphenation code of character _c_1    to  _c_o_d_e_1
  574.           and  that     of _c_2 to _c_o_d_e_2.  A hyphenation    code must
  575.           be a single input    character (not a special  charac
  576.           ter) other than a    digit or a space.  Initially each
  577.           lower-case letter    has a hyphenation code,    which  is
  578.           itself,  and  each  upper-case letter has    a hyphen
  579.           ation code which    is  the     lower    case  version  of
  580.           itself.  See also    the hhppff    request.
  581.  
  582.        ..hhllaa _l_a_n_g
  583.           Set  the    current     hyphenation  language    to  _l_a_n_g.
  584.           Hyphenation  exceptions  specified  with     the   hhww
  585.           request and hyphenation patterns specified with the
  586.           hhppff request are both associated  with  the  current
  587.           hyphenation  language.   The hhllaa request is usually
  588.           invoked by the ttrrooffffrrcc file.
  589.  
  590.        ..hhllmm _n Set the maximum number  of  consecutive  hyphenated
  591.           lines to _n.  If _n    is negative, there is no maximum.
  592.           The default value    is -1.    This value is  associated
  593.           with  the     current  environment.    Only lines output
  594.           from  an    environment  count  towards  the  maximum
  595.           associated  with that environment.  Hyphens result
  596.           ing from \\%% are counted; explicit    hyphens    are  not.
  597.  
  598.        ..hhppff _f_i_l_e
  599.           Read  hyphenation     patterns from _f_i_l_e; this will be
  600.           searched for in the  same     way  that  _n_a_m_e..ttmmaacc  is
  601.           searched    for  when the --mm_n_a_m_e option is specified.
  602.           It should    have the same format as    the  argument  to
  603.           the \patterns primitive in TeX; the letters appear
  604.           ing in this file    are  interpreted  as  hyphenation
  605.           codes.   A  %% character in the patterns file intro
  606.           duces a comment that continues to    the  end  of  the
  607.           line.   The  set of hyphenation patterns is associ
  608.           ated with    the  current  language    set  by     the  hhllaa
  609.           request.    The hhppff    request    is usually invoked by the
  610.           ttrrooffffrrcc file.
  611.  
  612.        ..hhyymm _n Set the _h_y_p_h_e_n_a_t_i_o_n _m_a_r_g_i_n to _n: when  the  current
  613.           adjustment  mode    is  not     bb,  the line will not be
  614.           hyphenated if the    line is    no  more  than    _n  short.
  615.           The  default  hyphenation    margin is 0.  The default
  616.           scaling indicator     for  this  request  is     _m.   The
  617.           hyphenation  margin  is associated with the current
  618.           environment.  The     current  hyphenation  margin  is
  619.           available    in the \\nn[[..hhyymm]]    register.
  620.  
  621.        ..hhyyss _n Set  the    _h_y_p_h_e_n_a_t_i_o_n  _s_p_a_c_e to _n: when the current
  622.           adjustment mode is bb don't hyphenate  the     line  if
  623.           the  line    can be justified by adding no more than    _n
  624.           extra  space  to    each  word  space.   The  default
  625.           hyphenation  space is 0.    The default scaling indi
  626.           cator for    this request is    mm.  The    hyphenation space
  627.           is  associated  with  the    current    environment.  The
  628.           current  hyphenation  space  is  available  in  the
  629.           \\nn[[..hhyyss]] register.
  630.  
  631.        ..kkeerrnn _n
  632.           If  _n is non-zero    or missing, enable pairwise kern
  633.           ing, otherwise disable it.
  634.  
  635.        ..lleennggtthh _x_x _s_t_r_i_n_g
  636.           Compute the length of _s_t_r_i_n_g and return it  in  the
  637.           number   register     _x_x  (which  is     not  necessarily
  638.           defined before).
  639.  
  640.        ..lliinneettaabbss _n
  641.           If _n is non-zero or missing, enable line-tabs mode,
  642.           otherwise     disable  it  (which is    the default).  In
  643.           line-tabs    mode, tab distances are    computed relative
  644.           to  the  (current) output    line.  Otherwise they are
  645.           taken relative to    the input line.     For example, the
  646.           following
  647.  
  648.              ..ddss xx aa\\tt\\cc
  649.              ..ddss yy bb\\tt\\cc
  650.              ..ddss zz cc
  651.              ..ttaa 11ii 33ii
  652.              \\**xx
  653.              \\**yy
  654.              \\**zz
  655.  
  656.           yields
  657.  
  658.              a           b     c
  659.  
  660.           In line-tabs mode, the same code gives
  661.  
  662.              a           b           c
  663.  
  664.           Line-tabs    mode is    associated with    the current envi
  665.           ronment;      the     read-only    number     register
  666.           \\nn[[..lliinneettaabbss]] is set to 1    if in line-tabs    mode, and
  667.           0    otherwise.
  668.  
  669.        ..mmssoo _f_i_l_e
  670.           The same as the ssoo  request  except  that     _f_i_l_e  is
  671.           searched for in the same directories as macro files
  672.           for the the --mm command line option.   If    the  file
  673.           name  to    be included has    the form _n_a_m_e..ttmmaacc and it
  674.           isn't found, mmssoo tries to    include    ttmmaacc.._n_a_m_e instead
  675.           and vice versa.
  676.  
  677.        ..nnoopp _a_n_y_t_h_i_n_g
  678.           Execute _a_n_y_t_h_i_n_g.     This is similar to `.if 1'.
  679.  
  680.        ..nnrrooffff Make the nn built-in condition true and the tt built-
  681.           in condition false.  This    can be reversed    using the
  682.           ttrrooffff request.
  683.  
  684.        ..ooppeenn _s_t_r_e_a_m _f_i_l_e_n_a_m_e
  685.           Open  _f_i_l_e_n_a_m_e for writing and associate the stream
  686.           named _s_t_r_e_a_m with    it.  See also the cclloossee    and wwrriittee
  687.           requests.
  688.  
  689.        ..ooppeennaa _s_t_r_e_a_m _f_i_l_e_n_a_m_e
  690.           Like  ooppeenn,  but    if  _f_i_l_e_n_a_m_e exists, append to it
  691.           instead of truncating it.
  692.  
  693.        ..ppnnrr   Print the     names    and  contents  of  all    currently
  694.           defined number registers on stderr.
  695.  
  696.        ..ppssbbbb _f_i_l_e_n_a_m_e
  697.           Get  the    bounding  box of a PostScript image _f_i_l_e_
  698.           _n_a_m_e.  This file must conform to    Adobe's     Document
  699.           Structuring  Conventions;     the  command looks for    a
  700.           %%%%BBoouunnddiinnggBBooxx comment to extract the  bounding  box
  701.           values.    After  a successful call, the coordinates
  702.           (in PostScript units) of the lower left  and  upper
  703.           right corner can be found    in the registers \\nn[[llllxx]],
  704.           \\nn[[llllyy]], \\nn[[uurrxx]],    and  \\nn[[uurryy]],  respectively.   If
  705.           some error has occurred, the four    registers are set
  706.           to zero.
  707.  
  708.        ..ppssoo _c_o_m_m_a_n_d
  709.           This behaves like    the ssoo request except that  input
  710.           comes from the standard output of    _c_o_m_m_a_n_d.
  711.  
  712.        ..ppttrr   Print  the  names     and  positions    of all traps (not
  713.           including    input line traps and diversion traps)  on
  714.           stderr.    Empty  slots  in  the  page trap list are
  715.           printed as well, because they can    affect the prior
  716.           ity of subsequently planted traps.
  717.  
  718.        ..rrcchhaarr _c_1 _c_2_._._.
  719.           Remove  the  definitions    of  characters _c_1, _c_2,...
  720.           This undoes the effect of    a cchhaarr request.
  721.  
  722.        ..rreettuurrnn
  723.           Within a macro, return immediately.  No effect oth
  724.           erwise.
  725.  
  726.        ..rrjj
  727.        ..rrjj _n  Right  justify  the next _n input lines.  Without an
  728.           argument right justify the next  input  line.   The
  729.           number  of lines to be right justified is    available
  730.           in the  \\nn[[..rrjj]]  register.   This     implicitly  does
  731.           ..ccee 00.  The ccee request implicitly    does ..rrjj 00.
  732.  
  733.        ..rrnnnn _x_x _y_y
  734.           Rename number register _x_x    to _y_y.
  735.  
  736.        ..sshhcc _c Set  the soft hyphen character to    _c.  If _c is omit
  737.           ted, the soft hyphen character will be set  to  the
  738.           default  \\((hhyy.   The  soft  hyphen character is the
  739.           character    which will be inserted    when  a     word  is
  740.           hyphenated  at  a     line  break.  If the soft hyphen
  741.           character    does not exist in the font of the charac
  742.           ter  immediately preceding a potential break point,
  743.           then the line will not be     broken     at  that  point.
  744.           Neither    definitions   (specified  with    the  cchhaarr
  745.           request) nor translations    (specified  with  the  ttrr
  746.           request)    are  considered     when  finding    the  soft
  747.           hyphen character.
  748.  
  749.        ..sshhiifftt _n
  750.           In a macro, shift    the  arguments    by  _n  positions:
  751.           argument    _i  becomes argument _i-_n; arguments 1 to    _n
  752.           will no longer be     available.   If  _n  is     missing,
  753.           arguments     will be shifted by 1.    Shifting by nega
  754.           tive amounts is currently    undefined.
  755.  
  756.        ..ssppeecciiaall    _s_1 _s_2_._._.
  757.           Fonts _s_1,    _s_2, are    special    and will be searched  for
  758.           characters not in    the current font.
  759.  
  760.        ..ssttyy _n _f
  761.           Associate     style    _f  with     font position _n.  A font
  762.           position can be associated either    with  a     font  or
  763.           with  a  style.  The current font    is the index of    a
  764.           font position and    so is also either  a  font  or    a
  765.           style.   When it is a style, the font that is actu
  766.           ally used    is the font the    name of    which is the con
  767.           catenation  of  the  name    of the current family and
  768.           the name of the current style.  For example, if the
  769.           current font is 1    and font position 1 is associated
  770.           with style RR and the current font    family is TT, then
  771.           font TTRR will be used.  If    the current font is not    a
  772.           style, then the current family  is  ignored.   When
  773.           the  requests  ccss,  bbdd,  ttkkff,  uuff,  or ffssppeecciiaall are
  774.           applied to a  style,  then  they    will  instead  be
  775.           applied  to the member of    the current family corre
  776.           sponding to that style.  The default family can  be
  777.           set  with    the --ff option.    The styles command in the
  778.           DESC file    controls which font  positions    (if  any)
  779.           are  initially  associated  with styles rather than
  780.           fonts.
  781.  
  782.        ..ssuubbssttrriinngg _x_x _n_1    [[_n_2]]
  783.           Replace the string in register  _x_x  with    the  sub
  784.           string defined by    the indices _n_1 and _n_2.    The first
  785.           character    in the string has index    one.   If  _n_2  is
  786.           omitted,    it  is    taken to be equal to the string's
  787.           length.  If the index value _n_1 or    _n_2 is negative or
  788.           zero,  it     will  be  counted  from  the  end of the
  789.           string, going backwards:    The  last  character  has
  790.           index  0,     the  character    before the last    character
  791.           has index    -1, etc.
  792.  
  793.        ..ttkkff _f _s_1 _n_1 _s_2 _n_2
  794.           Enable track kerning for font _f.    When the  current
  795.           font  is    _f  the    width  of every    character will be
  796.           increased    by an amount between _n_1    and _n_2;    when  the
  797.           current  point size is less than or equal    to _s_1 the
  798.           width will be increased by _n_1; when it  is  greater
  799.           than  or equal to    _s_2 the width will be increased by
  800.           _n_2; when the point size is greater than or equal to
  801.           _s_1  and  less  than  or equal to _s_2 the increase in
  802.           width is a linear    function of the    point size.
  803.  
  804.        ..ttmm11 _s_t_r_i_n_g
  805.           Similar to the ttmm    request, _s_t_r_i_n_g    is read     in  copy
  806.           mode and written on the standard error, but an ini
  807.           tial double quote    in  _s_t_r_i_n_g  is    stripped  off  to
  808.           allow initial blanks.
  809.  
  810.        ..ttmmcc _s_t_r_i_n_g
  811.           Similar to ttmm11 but without writing a final newline.
  812.  
  813.        ..ttrrff _f_i_l_e_n_a_m_e
  814.           Transparently output the contents    of file    _f_i_l_e_n_a_m_e.
  815.           Each line    is output as it    would be were it preceded
  816.           by \\!!; however, the lines    are not    subject    to  copy-
  817.           mode interpretation.  If the file    does not end with
  818.           a    newline, then a    newline    will be    added.    For exam
  819.           ple,  you     can define a macro _x containing the con
  820.           tents of file _f, using
  821.  
  822.              ..ddii _x
  823.              ..ttrrff _f
  824.              ..ddii
  825.  
  826.           Unlike with the ccff request, the file cannot contain
  827.           characters  such    as  NUL     that are not legal troff
  828.           input characters.
  829.  
  830.        ..ttrrnntt aabbccdd
  831.           This is the same as the ttrr request except    that  the
  832.           translations do not apply    to text    that is    transpar
  833.           ently throughput into a  diversion  with    \\!!.   For
  834.           example,
  835.  
  836.              ..ttrr aabb
  837.              ..ddii xx
  838.              \\!!..ttmm aa
  839.              ..ddii
  840.              ..xx
  841.  
  842.           will print bb; if ttrrnntt is used instead of ttrr it will
  843.           print aa.
  844.  
  845.        ..ttrrooffff Make the nn built-in  condition  false,  and  the    tt
  846.           built-in condition true.    This undoes the    effect of
  847.           the nnrrooffff    request.
  848.  
  849.        ..uunnffoorrmmaatt _x_x
  850.           This request `unformats' the  diversion  _x_x.   Con
  851.           trary  to    the ..aasscciiiiffyy request, which tries to con
  852.           vert formatted elements of the  diversion     back  to
  853.           input  tokens  as     much as possible, ..uunnffoorrmmaatt will
  854.           only handle tabs and spaces between words     (usually
  855.           caused  by  spaces  or  newlines in the input) spe
  856.           cially.  The former are treated  as  if  they  were
  857.           input tokens, and    the latter are stretchable again.
  858.           Note  that  the  vertical     size  of  lines  is  not
  859.           preserved.   Glyph  information  (font,  font size,
  860.           space width, etc.) is retained.  Useful in conjunc
  861.           tion with    the ..bbooxx and ..bbooxxaa requests.
  862.  
  863.        ..vvpptt _n Enable  vertical    position  traps    if _n is    non-zero,
  864.           disable them otherwise.    Vertical  position  traps
  865.           are  traps set by    the wwhh or ddtt requests.    Traps set
  866.           by the iitt    request    are not    vertical position  traps.
  867.           The  parameter that controls whether vertical posi
  868.           tion traps are enabled is    global.     Initially verti
  869.           cal position traps are enabled.
  870.  
  871.        ..wwaarrnn _n
  872.           Control  warnings.   _n  is  the  sum of the numbers
  873.           associated with each warning that    is to be enabled;
  874.           all  other  warnings  will be disabled.  The number
  875.           associated with  each  warning  is  listed  in  the
  876.           `Warnings' section.  For example,    ..wwaarrnn 00    will dis
  877.           able all warnings, and ..wwaarrnn  11  will  disable  all
  878.           warnings    except that about missing characters.  If
  879.           _n    is not given, all warnings will    be enabled.
  880.  
  881.        ..wwhhiillee _c    _a_n_y_t_h_i_n_g
  882.           While condition  _c  is  true,  accept  _a_n_y_t_h_i_n_g  as
  883.           input;  _c     can be    any condition acceptable to an iiff
  884.           request; _a_n_y_t_h_i_n_g    can comprise  multiple    lines  if
  885.           the  first  line    starts    with \\{{    and the    last line
  886.           ends with    \\}}.  See  also    the  bbrreeaakk  and     ccoonnttiinnuuee
  887.           requests.
  888.  
  889.        ..wwrriittee _s_t_r_e_a_m _a_n_y_t_h_i_n_g
  890.           Write  _a_n_y_t_h_i_n_g to the stream named _s_t_r_e_a_m.  _s_t_r_e_a_m
  891.           must previously have been    the subject  of     an  ooppeenn
  892.           request.     _a_n_y_t_h_i_n_g is read in copy mode;    a leading
  893.           ""    will be    stripped.
  894.  
  895.        ..wwrriitteemm _s_t_r_e_a_m _x_x
  896.           Write the    contents of the    macro or string    _x_x to the
  897.           stream  named  _s_t_r_e_a_m.  _s_t_r_e_a_m must previously have
  898.           been the subject of an ooppeenn request.  _x_x is read in
  899.           copy mode.
  900.  
  901.    EExxtteennddeedd rreeqquueessttss
  902.        ..ccff _f_i_l_e_n_a_m_e
  903.           When  used  in  a    diversion, this    will embed in the
  904.           diversion    an object which, when reread, will  cause
  905.           the contents of _f_i_l_e_n_a_m_e to be transparently copied
  906.           through to the output.  In UNIX troff, the contents
  907.           of  _f_i_l_e_n_a_m_e  is    immediately copied through to the
  908.           output regardless    of whether  there  is  a  current
  909.           diversion;  this    behaviour is so    anomalous that it
  910.           must be considered a bug.
  911.  
  912.        ..eevv _x_x If _x_x is not a number, this will switch to a  named
  913.           environment  called  _x_x.    The environment    should be
  914.           popped with a matching eevv    request    without    any argu
  915.           ments, just as for numbered environments.     There is
  916.           no limit on the number of    named environments;  they
  917.           will be created the first    time that they are refer
  918.           enced.
  919.  
  920.        ..ffpp _n _f_1    _f_2
  921.           The ffpp request  has  an  optional     third    argument.
  922.           This  argument gives the external    name of    the font,
  923.           which is used  for  finding  the    font  description
  924.           file.   The second argument gives    the internal name
  925.           of the font which    is used    to refer to the     font  in
  926.           troff  after  it    has been mounted.  If there is no
  927.           third argument then the internal name will be  used
  928.           as  the  external    name.  This feature allows you to
  929.           use fonts    with long names    in compatibility mode.
  930.  
  931.        ..ssss _m _n
  932.           When two arguments are given to the ssss request, the
  933.           second  argument gives the _s_e_n_t_e_n_c_e _s_p_a_c_e    _s_i_z_e.  If
  934.           the second argument  is  not  given,  the     sentence
  935.           space size will be the same as the word space size.
  936.           Like the word space size,    the sentence space is  in
  937.           units  of     one  twelfth of the spacewidth    parameter
  938.           for the current  font.   Initially  both    the  word
  939.           space  size  and    the  sentence  space size are 12.
  940.           Contrary to UNIX    troff,    GNU  troff  handles  this
  941.           request  in  nroff mode also; a given value is then
  942.           rounded down to the nearest multiple  of    12.   The
  943.           sentence    space  size is used in two circumstances:
  944.           if the end of a sentence occurs at  the  end  of    a
  945.           line  in    fill  mode, then both an inter-word space
  946.           and a sentence space will    be added; if  two  spaces
  947.           follow  the  end    of  a sentence in the middle of    a
  948.           line, then the second  space  will  be  a     sentence
  949.           space.   Note that the behaviour of UNIX troff will
  950.           be exactly that exhibited    by GNU troff if    a  second
  951.           argument    is never given to the ssss request.  In GNU
  952.           troff, as    in UNIX    troff, you should always follow    a
  953.           sentence with either a newline or    two spaces.
  954.  
  955.        ..ttaa _n_1 _n_2_._._._n_n TT    _r_1 _r_2_._._._r_n
  956.           Set  tabs     at positions _n_1, _n_2,..., _n_n and then set
  957.           tabs  at    _n_n+_r_1,    _n_n+_r_2,....,  _n_n+_r_n  and     then  at
  958.           _n_n+_r_n+_r_1,     _n_n+_r_n+_r_2,...,    _n_n+_r_n+_r_n, and so on.  For
  959.           example,
  960.  
  961.              ..ttaa TT ..55ii
  962.  
  963.           will set tabs every half an inch.
  964.  
  965.    NNeeww nnuummbbeerr rreeggiisstteerrss
  966.        The following read-only registers are available:
  967.  
  968.        \\nn[[..CC]] 1    if compatibility mode is in effect, 0  otherwise.
  969.  
  970.        \\nn[[..ccddpp]]
  971.           The  depth  of the last character    added to the cur
  972.           rent environment.     It is positive    if the    character
  973.           extends below the    baseline.
  974.  
  975.        \\nn[[..ccee]]
  976.           The  number  of  lines remaining to be centered, as
  977.           set by the ccee request.
  978.  
  979.        \\nn[[..cchhtt]]
  980.           The height of the    last character added to    the  cur
  981.           rent  environment.  It is    positive if the    character
  982.           extends above the    baseline.
  983.  
  984.        \\nn[[..ccsskk]]
  985.           The skew of the last character added to the current
  986.           environment.  The    _s_k_e_w of    a character is how far to
  987.           the right    of the center of a character  the  center
  988.           of  an accent over that character    should be placed.
  989.  
  990.        \\nn[[..eevv]]
  991.           The name or  number  of  the  current  environment.
  992.           This is a    string-valued register.
  993.  
  994.        \\nn[[..ffaamm]]
  995.           The  current  font family.  This is a string-valued
  996.           register.
  997.  
  998.        \\nn[[..ffpp]]
  999.           The number of the    next free font position.
  1000.  
  1001.        \\nn[[..gg]] Always 1.     Macros     should     use  this  to    determine
  1002.           whether they are running under GNU troff.
  1003.  
  1004.        \\nn[[..hhllaa]]
  1005.           The  current hyphenation language    as set by the hhllaa
  1006.           request.
  1007.  
  1008.        \\nn[[..hhllcc]]
  1009.           The number  of  immediately  preceding  consecutive
  1010.           hyphenated lines.
  1011.  
  1012.        \\nn[[..hhllmm]]
  1013.           The  maximum  allowed number of consecutive hyphen
  1014.           ated lines, as set by the    hhllmm request.
  1015.  
  1016.        \\nn[[..hhyy]]
  1017.           The current hyphenation flags (as     set  by  the  hhyy
  1018.           request).
  1019.  
  1020.        \\nn[[..hhyymm]]
  1021.           The  current  hyphenation    margin (as set by the hhyymm
  1022.           request).
  1023.  
  1024.        \\nn[[..hhyyss]]
  1025.           The current hyphenation space (as    set  by     the  hhyyss
  1026.           request).
  1027.  
  1028.        \\nn[[..iinn]]
  1029.           The indent that applies to the current output line.
  1030.  
  1031.        \\nn[[..iinntt]]
  1032.           Set to a positive    value  if  last     output     line  is
  1033.           interrupted (i.e., if it contains    _\_c).
  1034.  
  1035.        \\nn[[..kkeerrnn]]
  1036.           11    if pairwise kerning is enabled,    00 otherwise.
  1037.  
  1038.        \\nn[[..llgg]]
  1039.           The  current  ligature  mode  (as     set  by  the  llgg
  1040.           request).
  1041.  
  1042.        \\nn[[..lliinneettaabbss]]
  1043.           The current line-tabs mode (as set by the     lliinneettaabbss
  1044.           request).
  1045.  
  1046.        \\nn[[..llll]]
  1047.           The  line    length that applies to the current output
  1048.           line.
  1049.  
  1050.        \\nn[[..lltt]]
  1051.           The title    length as set by the lltt    request.
  1052.  
  1053.        \\nn[[..nnee]]
  1054.           The amount of space that was needed in the last  nnee
  1055.           request that caused a trap to be sprung.    Useful in
  1056.           conjunction with the \\nn[[..ttrruunncc]] register.
  1057.  
  1058.        \\nn[[..nnss]]
  1059.           11    if no-space mode is active, 00 otherwise.
  1060.  
  1061.        \\nn[[..ppnn]]
  1062.           The number of the    next page: either the  value  set
  1063.           by  a ppnn request,    or the number of the current page
  1064.           plus 1.
  1065.  
  1066.        \\nn[[..ppss]]
  1067.           The current pointsize in scaled points.
  1068.  
  1069.        \\nn[[..ppssrr]]
  1070.           The last-requested pointsize in scaled points.
  1071.  
  1072.        \\nn[[..rrjj]]
  1073.           The number of lines to be    right-justified    as set by
  1074.           the rrjj request.
  1075.  
  1076.        \\nn[[..ssrr]]
  1077.           The last requested pointsize in points as    a decimal
  1078.           fraction.     This is a string-valued register.
  1079.  
  1080.        \\nn[[..ttaabbss]]
  1081.           A    string representation of the current tab settings
  1082.           suitable    for use    as an argument to the ttaa request.
  1083.  
  1084.        \\nn[[..ttrruunncc]]
  1085.           The amount of vertical space truncated by    the  most
  1086.           recently    sprung vertical    position trap, or, if the
  1087.           trap was sprung by a nnee request, minus  the  amount
  1088.           of  vertical motion produced by the nnee request.  In
  1089.           other words, at the point    a trap is sprung, it rep
  1090.           resents  the  difference of what the vertical posi
  1091.           tion would have been but for the trap, and what the
  1092.           vertical    position actually is.  Useful in conjunc
  1093.           tion with    the \\nn[[..nnee]] register.
  1094.  
  1095.        \\nn[[..ssss]]
  1096.        \\nn[[..ssssss]]
  1097.           These give the values of the parameters set by  the
  1098.           first and    second arguments of the    ssss request.
  1099.  
  1100.        \\nn[[..vvpptt]]
  1101.           1     if vertical position traps are    enabled, 0 other
  1102.           wise.
  1103.  
  1104.        \\nn[[..wwaarrnn]]
  1105.           The sum of the numbers associated    with each of  the
  1106.           currently     enabled warnings.  The    number associated
  1107.           with each    warning    is listed in the `Warnings'  sub
  1108.           section.
  1109.  
  1110.        \\nn[[..xx]] The major    version    number.     For example, if the ver
  1111.           sion number is 11..0033 then \\nn[[..xx]] will contain 11.
  1112.  
  1113.        \\nn[[..yy]] The minor    version    number.     For example, if the ver
  1114.           sion number is 11..0033 then \\nn[[..yy]] will contain 0033.
  1115.  
  1116.        \\nn[[..YY]] The revision number of groff.
  1117.  
  1118.        \\nn[[llllxx]]
  1119.        \\nn[[llllyy]]
  1120.        \\nn[[uurrxx]]
  1121.        \\nn[[uurryy]]
  1122.           These  four  registers are set by    the ..ppssbbbb request
  1123.           and contain the bounding box values (in  PostScript
  1124.           units) of    a given    PostScript image.
  1125.  
  1126.        The  following  read/write  registers  are  set    by the \\ww
  1127.        escape sequence:
  1128.  
  1129.        \\nn[[rrsstt]]
  1130.        \\nn[[rrssbb]]
  1131.           Like the sstt and ssbb registers, but    takes account  of
  1132.           the heights and depths of    characters.
  1133.  
  1134.        \\nn[[sssscc]]
  1135.           The  amount of horizontal    space (possibly    negative)
  1136.           that should be added to the last character before    a
  1137.           subscript.
  1138.  
  1139.        \\nn[[sskkww]]
  1140.           How  far to right    of the center of the last charac
  1141.           ter in the \\ww argument, the  center  of  an  accent
  1142.           from  a roman font should    be placed over that char
  1143.           acter.
  1144.  
  1145.        Other available read/write number registers are:
  1146.  
  1147.        \\nn[[cc..]] The current input    line number.  \\nn[[..cc]] is     a  read-
  1148.           only alias to this register.
  1149.  
  1150.        \\nn[[hhpp]] The current horizontal position at input line.
  1151.  
  1152.        \\nn[[ssyyssttaatt]]
  1153.           The  return value    of the system()    function executed
  1154.           by the last ssyy request.
  1155.  
  1156.        \\nn[[sslliimmiitt]]
  1157.           If greater than 0, the maximum number of objects on
  1158.           the input    stack.    If less    than or    equal to 0, there
  1159.           is no limit on the number    of objects on  the  input
  1160.           stack.  With no limit, recursion can continue until
  1161.           virtual memory is    exhausted.
  1162.  
  1163.        \\nn[[yyeeaarr]]
  1164.           The current year.     Note that the traditional  ttrrooffff
  1165.           number  register    \\nn[[yyrr]]    is the current year minus
  1166.           1900.
  1167.  
  1168.    MMiisscceellllaanneeoouuss
  1169.        ttrrooffff predefines    a single (read/write) string-based regis
  1170.        ter,  \\**((..TT,  which  contains the argument given    to the --TT
  1171.        command line option, namely the current output device (for
  1172.        example,    _l_a_t_i_n_1 or _a_s_c_i_i).  Note    that this is not the same
  1173.        as the (read-only) number register \\nn[[..TT]] which is defined
  1174.        to  be 1     if  ttrrooffff  is    called    with  the --TT command line
  1175.        option, and zero    otherwise.  This behaviour  is    different
  1176.        to UNIX troff.
  1177.  
  1178.        Fonts  not  listed  in  the  DESC  file    are automatically
  1179.        mounted on the next available font position when    they  are
  1180.        referenced.   If     a  font is to be mounted explicitly with
  1181.        the ffpp request on an unused font    position,  it  should  be
  1182.        mounted    on  the     first unused font position, which can be
  1183.        found in    the \\nn[[..ffpp]] register;  although     ttrrooffff    does  not
  1184.        enforce    this  strictly,     it  will  not allow a font to be
  1185.        mounted at a position whose number is  much  greater  than
  1186.        that of any currently used position.
  1187.  
  1188.        Interpolating  a     string     does  not  hide  existing  macro
  1189.        arguments.  Thus    in a macro, a more efficient way of doing
  1190.  
  1191.           .._x_x \\\\$$@@
  1192.  
  1193.        is
  1194.  
  1195.           \\\\**[[_x_x]]\\\\
  1196.  
  1197.        If  the    font  description  file    contains pairwise kerning
  1198.        information, characters from that  font    will  be  kerned.
  1199.        Kerning between two characters can be inhibited by placing
  1200.        a \\&& between them.
  1201.  
  1202.        In a string comparison in  a  condition,     characters  that
  1203.        appear  at  different  input levels to the first    delimiter
  1204.        character will not be recognised    as the    second    or  third
  1205.        delimiters.  This applies also to the ttll    request.  In a \\ww
  1206.        escape sequence,    a character that appears at  a    different
  1207.        input  level  to    the starting delimiter character will not
  1208.        be recognised as    the closing  delimiter    character.   When
  1209.        decoding     a  macro  argument  that  is delimited    by double
  1210.        quotes, a character that     appears  at  a     different  input
  1211.        level  to  the  starting     delimiter  character will not be
  1212.        recognised as the closing delimiter character.  The imple
  1213.        mentation  of \\$$@@ ensures that the double quotes    surround
  1214.        ing an argument will appear the same  input  level,  which
  1215.        will  be     different  to    the  input  level of the argument
  1216.        itself.    In a long escape name ]]    will not be recognized as
  1217.        a  closing  delimiter  except  when  it occurs at the same
  1218.        input level as the opening ]].  In compatibility    mode,  no
  1219.        attention is paid to the    input-level.
  1220.  
  1221.        There are some new types    of condition:
  1222.  
  1223.        ..iiff rr_x_x_x
  1224.           True if there is a number    register named _x_x_x.
  1225.  
  1226.        ..iiff dd_x_x_x
  1227.           True  if    there  is  a string, macro, diversion, or
  1228.           request named _x_x_x.
  1229.  
  1230.        ..iiff cc_c_h
  1231.           True if there is a character _c_h  available;  _c_h  is
  1232.           either  an  ASCII     character or a    special    character
  1233.           \\((_x_x or \\[[_x_x_x]]; the condition will also be true  if
  1234.           _c_h has been defined by the cchhaarr request.
  1235.  
  1236.        The ttrr request can now map characters onto \\~~.
  1237.  
  1238.    WWaarrnniinnggss
  1239.        The  warnings  that can be given    by ttrrooffff are divided into
  1240.        the following categories.  The name associated  with  each
  1241.        warning    is  used  by the --ww and    --WW options; the    number is
  1242.        used by the wwaarrnn    request, and by    the ..wwaarrnn register.
  1243.  
  1244.        cchhaarr          1      Non-existent     characters.    This   is
  1245.               enabled by default.
  1246.  
  1247.        nnuummbbeerr          2      Invalid  numeric  expressions.  This is
  1248.               enabled by default.
  1249.  
  1250.        bbrreeaakk          4      In fill mode,    lines which could not  be
  1251.               broken  so  that  their length was less
  1252.               than the line    length.     This is  enabled
  1253.               by default.
  1254.  
  1255.        ddeelliimm          8      Missing  or  mismatched  closing delim
  1256.               iters.
  1257.  
  1258.        eell         16      Use of the eell    request    with no     matching
  1259.               iiee request.
  1260.  
  1261.        ssccaallee         32      Meaningless scaling indicators.
  1262.  
  1263.        rraannggee         64      Out of range arguments.
  1264.  
  1265.        ssyynnttaaxx        128      Dubious  syntax in numeric expressions.
  1266.  
  1267.        ddii        256      Use of ddii or    ddaa  without  an     argument
  1268.               when there is    no current diversion.
  1269.  
  1270.        mmaacc        512      Use  of  undefined  strings, macros and
  1271.               diversions.  When an undefined  string,
  1272.               macro    or diversion is    used, that string
  1273.               is automatically defined as empty.  So,
  1274.               in most cases, at most one warning will
  1275.               be given for each name.
  1276.  
  1277.        rreegg       1024      Use  of  undefined  number   registers.
  1278.               When    an  undefined  number register is
  1279.               used,    that  register    is  automatically
  1280.               defined  to have a value of 0.  a defi
  1281.               nition is  automatically  made  with    a
  1282.               value    of 0.  So, in most cases, at most
  1283.               one warning will be given for    use of    a
  1284.               particular name.
  1285.  
  1286.        ttaabb       2048      Inappropriate     use  of a tab character.
  1287.               Either use of    a tab character     where    a
  1288.               number  was  expected,  or  use  of tab
  1289.               character in an  unquoted  macro  argu
  1290.               ment.
  1291.  
  1292.        rriigghhtt--bbrraaccee 4096      Use  of \\}} where a number was    expected.
  1293.  
  1294.        mmiissssiinngg       8192      Requests that    are missing  non-optional
  1295.               arguments.
  1296.  
  1297.        iinnppuutt      16384      Illegal input    characters.
  1298.  
  1299.        eessccaappee      32768      Unrecognized escape sequences.  When an
  1300.               unrecognized escape sequence is encoun
  1301.               tered, the escape character is ignored.
  1302.  
  1303.        ssppaaccee      65536      Missing  space  between  a  request  or
  1304.               macro     and  its argument.  This warning
  1305.               will be given    when  an  undefined  name
  1306.               longer  than    two characters is encoun
  1307.               tered, and the first two characters  of
  1308.               the  name  make  a  defined  name.  The
  1309.               request or macro will    not  be     invoked.
  1310.               When this warning is given, no macro is
  1311.               automatically    defined.  This is enabled
  1312.               by  default.     This  warning will never
  1313.               occur    in compatibility mode.
  1314.  
  1315.        ffoonntt     131072      Non-existent fonts.  This is enabled by
  1316.               default.
  1317.  
  1318.        iigg     262144      Illegal  escapes  in    text ignored with
  1319.               the iigg request.  These  are  conditions
  1320.               that    are errors when    they do    not occur
  1321.               in ignored text.
  1322.  
  1323.        There are also names that can be    used to    refer  to  groups
  1324.        of warnings:
  1325.  
  1326.        aallll    All  warnings  except  ddii,  mmaacc  and  rreegg.   It  is
  1327.           intended that this covers     all  warnings    that  are
  1328.           useful with traditional macro packages.
  1329.  
  1330.        ww      All warnings.
  1331.  
  1332.    IInnccoommppaattiibbiilliittiieess
  1333.        Long  names cause some incompatibilities.  UNIX troff will
  1334.        interpret
  1335.  
  1336.           ..ddssaabbccdd
  1337.  
  1338.        as defining a string aabb with contents ccdd.   Normally,  GNU
  1339.        troff  will  interpret  this  as     a  call of a macro named
  1340.        ddssaabbccdd.    Also UNIX troff    will interpret \\**[[ or \\nn[[ as ref
  1341.        erences    to  a string or    number register    called [[.  In GNU
  1342.        troff, however, this will normally be interpreted  as  the
  1343.        start  of  a  long  name.  In _c_o_m_p_a_t_i_b_i_l_i_t_y _m_o_d_e    GNU troff
  1344.        will interpret these things in the  traditional    way.   In
  1345.        compatibility  mode,  however,  long  names are not recog
  1346.        nised.  Compatibility mode can be turned    on  with  the  --CC
  1347.        command    line  option,  and  turned  on or off with the ccpp
  1348.        request.     The number register \\nn[[..CC]] is 1 if compatibility
  1349.        mode is on, 0 otherwise.
  1350.  
  1351.        GNU  troff  does    not allow the use of the escape    sequences
  1352.        \\\\||\\^^\\&&\\}}\\{{\\(space)\\''\\``\\--\\__\\!!\\%%\\cc  in  names  of     strings,
  1353.        macros,    diversions,  number  registers,    fonts or environ
  1354.        ments; UNIX troff does.    The \\AA    escape    sequence  may  be
  1355.        helpful    in  avoiding  use  of  these  escape sequences in
  1356.        names.
  1357.  
  1358.        Fractional pointsizes cause one    noteworthy  incompatibil
  1359.        ity.   In  UNIX troff the ppss request ignores scale indica
  1360.        tors and    so
  1361.  
  1362.           ..ppss 1100uu
  1363.  
  1364.        will set    the pointsize to 10 points, whereas in GNU  troff
  1365.        it will set the pointsize to 10 scaled points.
  1366.  
  1367.        In  GNU    troff  there  is a fundamental difference between
  1368.        unformatted, input characters, and formatted, output char
  1369.        acters.     Everything  that affects how an output    character
  1370.        will be output is stored    with the character; once an  out
  1371.        put character has been constructed it is    unaffected by any
  1372.        subsequent requests that    are executed, including     bbdd,  ccss,
  1373.        ttkkff,  ttrr,  or ffpp    requests.  Normally output characters are
  1374.        constructed from    input characters at  the  moment  immedi
  1375.        ately  before the character is added to the current output
  1376.        line.  Macros, diversions and strings are  all,    in  fact,
  1377.        the same    type of    object;    they contain lists of input char
  1378.        acters and output characters in any combination.     An  out
  1379.        put  character does not behave like an input character for
  1380.        the purposes of macro processing; it does not inherit  any
  1381.        of  the    special     properties that the input character from
  1382.        which it    was constructed    might have had.     For example,
  1383.  
  1384.           ..ddii xx
  1385.           \\\\\\\\
  1386.           ..bbrr
  1387.           ..ddii
  1388.           ..xx
  1389.  
  1390.        will print \\\\ in    GNU troff;  each  pair    of  input  \\s  is
  1391.        turned  into  one output    \\ and the resulting output \\s are
  1392.        not interpreted as escape characters when they are reread.
  1393.        UNIX  troff would interpret them    as escape characters when
  1394.        they were reread    and would end up  printing  one     \\.   The
  1395.        correct    way  to     obtain     a  printable  \\ is to use the \\ee
  1396.        escape sequence:    this will always print a single     instance
  1397.        of  the current escape character, regardless of whether or
  1398.        not it is used in a diversion; it will also work     in  both
  1399.        GNU  troff and UNIX troff.  If you wish for some    reason to
  1400.        store in    a diversion  an     escape     sequence  that     will  be
  1401.        interpreted  when  the diversion    is reread, you can either
  1402.        use the traditional \\!! transparent output facility, or, if
  1403.        this is unsuitable, the new \\?? escape sequence.
  1404.  
  1405. EENNVVIIRROONNMMEENNTT
  1406.        GGRROOFFFF__TTMMAACC__PPAATTHH
  1407.           A     colon    separated list of directories in which to
  1408.           search for macro files.  ttrrooffff will  scan     directo
  1409.           ries  given  in  the --MM option before these, and in
  1410.           standard    directories  (current  directory  if   in
  1411.           unsafe    mode,     home     directory,    //uussrr//ffrreeee
  1412.           wwaarree//sshhaarree//ggrrooffff//ssiittee--ttmmaacc,           //uussrr//ffrreeee
  1413.           wwaarree//lliibb//ggrrooffff//ssiittee--ttmmaacc,               //uussrr//ffrreeee
  1414.           wwaarree//sshhaarree//ggrrooffff//11..1177..22//ttmmaacc) after these.
  1415.  
  1416.        GGRROOFFFF__TTYYPPEESSEETTTTEERR
  1417.           Default device.
  1418.  
  1419.        GGRROOFFFF__FFOONNTT__PPAATTHH
  1420.           A    colon separated    list of    directories in    which  to
  1421.           search  for the ddeevv_n_a_m_e directory.  ttrrooffff    will scan
  1422.           directories given    in the --FF  option  before  these,
  1423.           and    in       standard    directories    (//uussrr//ffrreeee
  1424.           wwaarree//sshhaarree//ggrrooffff//11..1177..22//ffoonntt:://uussrr//lliibb//ffoonntt)   after
  1425.           these.
  1426.  
  1427. FFIILLEESS
  1428.        //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ttmmaacc//ttrrooffffrrcc
  1429.           Initialization  file (called before any other macro
  1430.           package).
  1431.  
  1432.        //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ttmmaacc//ttrrooffffrrcc--eenndd
  1433.           Initialization file (called after    any  other  macro
  1434.           package).
  1435.  
  1436.        //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ttmmaacc//_n_a_m_e..ttmmaacc
  1437.        //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ttmmaacc//ttmmaacc.._n_a_m_e
  1438.           Macro files
  1439.  
  1440.        //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ffoonntt//ddeevv_n_a_m_e//DDEESSCC
  1441.           Device description file for device _n_a_m_e.
  1442.  
  1443.        //uussrr//ffrreeeewwaarree//sshhaarree//ggrrooffff//11..1177..22//ffoonntt//ddeevv_n_a_m_e//_F
  1444.           Font file    for font _F of device _n_a_m_e.
  1445.  
  1446.        Note  that ttrrooffffrrcc and ttrrooffffrrcc--eenndd are neither searched in
  1447.        the current nor in the home directory by    default    for secu
  1448.        rity reasons (even if the --UU option is given).  Use the --MM
  1449.        command line option  or    the  GGRROOFFFF__TTMMAACC__PPAATTHH  environment
  1450.        variable     to  add  these    directories to the search path if
  1451.        necessary.
  1452.  
  1453. SSEEEE AALLSSOO
  1454.        ggrrooffff(7)    -- This    is a short but complete    reference of  all
  1455.        requests, registers, and    escapes.
  1456.  
  1457.        ggrrooffff(1),  ttbbll(1),  ppiicc(1),  eeqqnn(1),  rreeffeerr(1), ssooeelliimm(1),
  1458.        ggrrnn(1),    ggrrooppss(1),   ggrrooddvvii(1),     ggrroottttyy(1),   ggrroohhttmmll(1),
  1459.        ggrroolljj44(1), ggrrooffff__ffoonntt(5), ggrrooffff__oouutt(5), ggrrooffff__cchhaarr(7)
  1460.  
  1461.  
  1462.  
  1463. Groff Version 1.17.2       27 June 2001             TROFF(1)
  1464.